package com.jxt.myjxtmanager;//package com.my.jxt;
//
//import android.content.Context;
//import android.os.Handler;
//import android.os.Message;
//import android.view.View;
//import android.widget.ProgressBar;
//
//import com.my.jxt.ui.MyExcel.CustomAdapter;
//import com.my.jxt.ui.MyExcel.bean.Cell;
//import com.my.jxt.ui.MyExcel.bean.ColTitle;
//import com.my.jxt.ui.MyExcel.bean.RowTitle;
//
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Calendar;
//import java.util.List;
//
//import cn.zhouchaoyuan.excelpanel.ExcelPanel;
//
///**
// * Created by qm on 2017/2/10 0010.
// */
//public class BaseExcelActivity extends BaseActivity implements ExcelPanel.OnLoadMoreListener {
//
//    public static final String DATE_FORMAT_PATTERN = "yyyy-MM-dd";
//    public static final String WEEK_FORMAT_PATTERN = "EEEE";
//    public static final long ONE_DAY = 24 * 3600 * 1000;
//
//    private ExcelPanel excelPanel;
//    private ProgressBar progress;
//    private CustomAdapter adapter;
//    private List<RowTitle> rowTitles;
//    private List<ColTitle> colTitles;
//    private List<List<Cell>> cells;
//    public SimpleDateFormat dateFormatPattern;
//    public SimpleDateFormat weekFormatPattern;
//    private boolean isLoading = true;
//    private long historyStartTime;
//    private long moreStartTime;
//    BaseExcelListener baseExcelListener;
//    OnClickListener onClickListener;
//
//    public void setOnClickListener(OnClickListener onClickListener) {
//        this.onClickListener = onClickListener;
//    }
//
//    public void setBaseExcelListener(BaseExcelListener baseExcelListener) {
//        this.baseExcelListener = baseExcelListener;
//    }
//
//    @Override
//    protected int getLayoutId() {
//        return R.layout.activity_excel_layout;
//    }
//
//    @Override
//    protected void initView() {
//        progress = (ProgressBar) findViewById(R.id.excel_progress);
//        excelPanel = (ExcelPanel) findViewById(R.id.content_container);
//        adapter = new CustomAdapter(this, blockListener);
//        excelPanel.setAdapter(adapter);
//        excelPanel.setOnLoadMoreListener(this);
//    }
//
//    protected void initListener(BaseExcelListener baseExcelListener, OnClickListener onClickListener) {
//        this.baseExcelListener = baseExcelListener;
//        this.onClickListener = onClickListener;
//        myinitData();
//    }
//
//    protected void myinitData() {
//        moreStartTime = Calendar.getInstance().getTimeInMillis();
//        historyStartTime = moreStartTime - ONE_DAY * baseExcelListener.PageSize();
//        dateFormatPattern = new SimpleDateFormat(DATE_FORMAT_PATTERN);
//        weekFormatPattern = new SimpleDateFormat(WEEK_FORMAT_PATTERN);
//        rowTitles = new ArrayList<>();
//        colTitles = new ArrayList<>();
//        cells = new ArrayList<>();
//        for (int i = 0; i < baseExcelListener.RowSize(); i++) {
//            cells.add(new ArrayList<Cell>());
//        }
//        loadData(moreStartTime, false);
//    }
//
//    private View.OnClickListener blockListener = new View.OnClickListener() {
//        @Override
//        public void onClick(View view) {
//            Cell cell = (Cell) view.getTag();
//            onClickListener.onClick(view);
//        }
//    };
//
//    @Override
//    public void onLoadMore() {
//        if (!isLoading) {
//            loadData(moreStartTime, false);
//        }
//    }
//
//    @Override
//    public void onLoadHistory() {
//        if (!isLoading) {
//            loadData(historyStartTime, true);
//        }
//    }
//
//    private void loadData(long startTime, final boolean history) {
//        //模拟网络加载
//        isLoading = true;
//        Message message = new Message();
//        message.arg1 = history ? 1 : 2;
//        message.obj = new Long(startTime);
//        loadDataHandler.sendMessageDelayed(message, 1000);
//    }
//
//
//    private Handler loadDataHandler = new Handler() {
//        @Override
//        public void handleMessage(Message msg) {
//            isLoading = true;
//            long startTime = (Long) msg.obj;
//            List<RowTitle> rowTitles1 = baseExcelListener.genRowData(startTime);
//            List<List<Cell>> cells1 = baseExcelListener.genCellData();
//            if (msg.arg1 == 1) {//history
//                historyStartTime -= ONE_DAY * baseExcelListener.PageSize();
//                rowTitles.addAll(0, rowTitles1);
//                for (int i = 0; i < cells1.size(); i++) {
//                    cells.get(i).addAll(0, cells1.get(i));
//                }
//
//                //加载了数据之后偏移到上一个位置去
//                if (excelPanel != null) {
//                    excelPanel.addHistorySize(baseExcelListener.PageSize());
//                }
//            } else {
//                moreStartTime += ONE_DAY * baseExcelListener.PageSize();
//                rowTitles.addAll(rowTitles1);
//                for (int i = 0; i < cells1.size(); i++) {
//                    cells.get(i).addAll(cells1.get(i));
//                }
//            }
//            if (colTitles.size() == 0) {
//                colTitles.addAll(baseExcelListener.genColData());
//            }
//            progress.setVisibility(View.GONE);
//            adapter.setAllData(colTitles, rowTitles, cells);
//            adapter.enableFooter();
//            adapter.enableHeader();
//        }
//    };
//
//    public interface BaseExcelListener {
//        List<RowTitle> genRowData(long startTime);
//
//        List<ColTitle> genColData();
//
//        List<List<Cell>> genCellData();
//
//        int PageSize();
//
//        int RowSize();
//    }
//
//    public interface OnClickListener {
//        void onClick(View view);
//    }
//}
